{{tag> Lucid réseau partage nfs sécurité tutoriel }}
----

====== Fixer les ports pour un partage NFS ======

Vous pouvez avoir besoin de fixer les [[wpfr>Port_(logiciel)|ports]] utilisés par [[:NFS]] , \\
lorsque votre [[:partage]] doit se faire à travers un [[:Firewall]] matériel ou logiciel ou un autre équipement filtrant.

{{/nfs-ufw.png}}


<note tip>Pour sécuriser votre [[:partage]] [[:NFS]] à l'aide d'un [[:firewall]]\\
vous pouvez suivre ce [[http://wiki.debian.org/SecuringNFS|tutoriel debian ]]\\
en utilisant [[:ufw]] plutôt que [[:Shorewall]].
</note>


===== partage NFS  =====

Le principe de partage fonctionne sur la notion de serveur/client.\\
Le serveur, que nous appellerons PC1, est celui qui propose l'accès à ses données.\\
Le client, que nous appellerons PC2, est celui qui y accède pour les lire ou les modifier. \\

<note important>Toutes les manipulations indiquées dans cette page se font sur le **PC1**</note>

===== Fixer les ports =====

Il s'agit de déterminer le port qui sera toujours utilisé pour le [[:partage]] [[:NFS]]. On appel cela <<fixer un port>>.

==== pour mountd ====
Pour déterminer le port, [[:tutoriel:comment_modifier_un_fichier|ouvrez le fichier]] **/etc/default/nfs-kernel-server**\\
commentez  (mettre un # devant) ''RPCMOUNTDOPTS=--manage-gids''  et mettez à la place:
<code> RPCMOUNTDOPTS="--port 42002" </code>

==== Pour STATD ====

[[:tutoriel:comment_modifier_un_fichier|ouvrez le fichier]] ** /etc/default/nfs-common **\\
<code> STATDOPTS="--port 42000" </code>

==== Pour QUOTAD ====

[[:tutoriel:comment_modifier_un_fichier|ouvrez le fichier]] ** /etc/default/quota **\\
<code> RPCRQUOTADOPTS="-p 42769" </code>

==== pour lockd ====
Pour éviter l'altération des données si plusieurs //clients// se connectent en même temps, il faut [[:tutoriel:comment_modifier_un_fichier|ouvrir le fichier]] **/etc/modprobe.d/options.conf** et y mettre cette ligne:
<code> options lockd nlm_udpport=42010 nlm_tcpport=42010 </code>
<note tips> Si le blocage des ports ne semble pas effectif, d'après [[http://forum.ubuntu-fr.org/viewtopic.php?pid=3865997|ce thread]] il s'agirait de modifier le fichier /etc/sysclt.conf</note>

===== Prise en compte des modifications =====
==== reboot ====
Afin de prendre en compte les modifications par le système, il faudra redémarrer votre machine.

Sinon vous pouvez essayer les étapes suivantes:

==== Relancer le serveur NFS ====
<code>
sudo invoke-rc.d nfs-kernel-server restart
</code>
==== Relancer portmap ====
<code>
sudo invoke-rc.d portmap restart
</code>
==== Relancer le service rpc ====
<code>

sudo rmmod sunrpc
sudo modprobe sunrpc
</code>
===== Vérification ======

Pour connaitre les ports de communication utilisés par le **PC1**, dans un [[:terminal]] saisissez:
<code>rpcinfo -p</code>
La commande devrait vous donner un résultat proche de celui-ci:
<code>program no_version protocole  no_port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100021    1   udp  42010  nlockmgr
    100021    3   udp  42010  nlockmgr
    100021    4   udp  42010  nlockmgr
    100021    1   tcp  42010  nlockmgr
    100021    3   tcp  42010  nlockmgr
    100021    4   tcp  42010  nlockmgr
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100005    1   udp  42002  mountd
    100005    1   tcp  42002  mountd
    100005    2   udp  42002  mountd
    100005    2   tcp  42002  mountd
    100005    3   udp  42002  mountd
    100005    3   tcp  42002  mountd</code>
    
On constate que les ports ne sont plus attribués aléatoirement mais bien comme nous les avons [[#fixer les ports|fixé]].
Il sera alors possible de configurer votre [[:firewall]] en utilisant ces ports.

----
  * https://www.ens-lyon.fr/PSI/technique/doku.php?id=debian:security
  * [[wpfr>Network_File_System|NFS]]

----
//Contributeurs :[[utilisateurs:ool]]//